:root {
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgb(6, 147, 227) 0%, rgb(155, 81, 224) 100%);
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgb(252, 185, 0) 0%, rgb(255, 105, 0) 100%);
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgb(255, 105, 0) 0%, rgb(207, 46, 46) 100%);
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --wp--preset--font-size--small: 13px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);
    --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
    --header-h: 90px;    
  --hero-gap: 170px;     
}

:where(.is-layout-flex) {
    gap: 0.5em;
}

:where(.is-layout-grid) {
    gap: 0.5em;
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.is-layout-flex> :is(*, div) {
    margin: 0;
}

body .is-layout-grid {
    display: grid;
}

.is-layout-grid> :is(*, div) {
    margin: 0;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 2em;
}

:where(.wp-block-columns.is-layout-grid) {
    gap: 2em;
}

:where(.wp-block-post-template.is-layout-flex) {
    gap: 1.25em;
}

:where(.wp-block-post-template.is-layout-grid) {
    gap: 1.25em;
}

.has-black-color {
    color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
    color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
    color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
    color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
    color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
    color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
    color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
    color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
    color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
    color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
    color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
    color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
    background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
    background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
    background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
    background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
    background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
    background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
    background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
    background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
    background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
    border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
    border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
    border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
    border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
    border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
    border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
    border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
    border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
    border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
    border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
    background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
    background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
    background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
    background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
    background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
    background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
    background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
    background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
    background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
    background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
    font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
    font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
    font-size: var(--wp--preset--font-size--x-large) !important;
}

.tf-toolbar-trigger {
    align-items: center;
    border-radius: 0 5px 5px 0;
    bottom: calc(50% - 230px);
    cursor: pointer;
    display: flex;
    gap: 5px;
    height: 200px;
    justify-content: center;
    left: 0;
    transform: translateX(-100%) rotate(180deg);
    max-height: 250px;
    min-width: 40px;
    opacity: 1;
    overflow: hidden;
    padding: 15px 0;
    background: #4739EC;
    color: #fff;
    font-size: 16px;
    /* font-weight: 700; */
    line-height: 26px;
    position: absolute;
    text-align: center;
    text-orientation: mixed;
    transition: .45s ease-in-out;
    white-space: nowrap;
    writing-mode: vertical-rl;
    border: 1px solid transparent;
}

.tf-toolbar-container .tf-open-icon {
    fill: #fff;
    display: inline-block;
    height: 21px;
}

.tf-toolbar-container.opened .tf-open-icon {
    transform: rotate(180deg);
}

/* Sidebar */
.tf-toolbar {
    font-family: 'Plus Jakarta Sans';
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    transform: translateX(100%);
    width: 360px;
    height: 100%;
    background: white;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
    transition: transform .3s ease-in-out;
    z-index: 100000;
}

.tf-toolbar-container.opened .tf-toolbar {
    transform: translateX(0);
}

.tf-toolbar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}

#closeSidebar {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.tf-toolbar-content {
    box-sizing: border-box;
    max-height: calc(100% - 30px);
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    padding: 48px 30px 20px;
    scrollbar-width: none;
    text-align: center;
    transition: .3s ease-in;
    height: 100%;
    width: 100%;
}

.tf-toolbar-container .tf-toolbar-overlay {
    background: transparent;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all .4s;
    visibility: hidden;
    width: 100%;
    z-index: 99999;
}

.tf-toolbar-container.opened .tf-toolbar-overlay {
    background: #000;
    opacity: .4;
    visibility: visible;
}

.tf-toolbar .tf-toolbar-image {
    /* padding-top: 10px; */
    transform: translateY(0);
    transition: .5s;
    height: 152px;
}

.tf-toolbar-btn {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    margin: 0 0 42px;
    gap: 10px;
}

.tf-toolbar-link {
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    border-radius: 88px;
    display: inline-block;
    margin: 0;
    padding: 10px 0;
    transition: all .45s;
    width: 100%;
    border: 1px solid #fff;
    color: #181818;
}

.tf-toolbar-link:last-child,
.tf-toolbar-link:first-child:hover {
    background: #4739EC;
    color: #fff;
}

.tf-toolbar-trigger>span {
    display: flex;
    align-items: center;
}

.tf-toolbar-trigger:hover {
    background: #181818;
    color: #fff;
}

.tf-toolbar-link,
.tf-toolbar-trigger {
    text-transform: capitalize;
}

.tf-toolbar-link:first-child,
.tf-toolbar-link:last-child:hover {
    background: #fff;
    color: #000;
    border: 1px solid #4739EC;
}

.tf-toolbar-theme-content {
    align-items: center;
    display: flex;
    justify-content: space-between;
    line-height: 1.2;
    /* margin-top: 12px; */
    margin-top: 5px;
    text-align: left;
}

.tf-toolbar-theme-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.tf-toolbar-theme-item {
    margin: 0;
}

.tf-toolbar-theme-item img {
    border-radius: 5px;
    box-shadow: 5px 4px 16px 0 rgba(0, 0, 0, .15);
    transition: .5s;
    max-width: 100%;
}

.tf-toolbar-theme-item:hover img {
    transform: translateY(-10px);
}

.tf-toolbar-desc {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.tf-toolbar-title {
    color: #363439;
    font-size: 16px;
    font-weight: 700;
}

.tf-toolbar-cats {
    color: #bcbcbc;
    font-weight: 700;
    text-transform: uppercase;
}

.tf-toolbar-price {
    color: #f03759;
    font-size: 16px;
    font-weight: 700;
}

.tf-toolbar-content a,
.tf-toolbar-price ins {
    text-decoration: none;
}

.tf-toolbar-price del,
.tf-toolbar-dp {
    color: #bcbcbc;
}

.tf-toolbar-loaded {
    display: block !important;
}

.tf-toolbar-sales-count {
    margin-left: 10px;
}

.tf-toolbar-sales-count svg {
    width: 12px;
    height: 12px;
}


img.wp-smiley,
img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: 1em !important;
    width: 1em !important;
    margin: 0 0.07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}

.wp-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em
}

.wp-block-file__button {
    background: #32373c;
    color: #fff;
    text-decoration: none
}

.elementor-widget-image-carousel .swiper,
.elementor-widget-image-carousel .swiper-container {
    position: static
}

.elementor-widget-image-carousel .swiper-container .swiper-slide figure,
.elementor-widget-image-carousel .swiper .swiper-slide figure {
    line-height: inherit
}

.elementor-widget-image-carousel .swiper-slide {
    text-align: center
}

.elementor-image-carousel-wrapper:not(.swiper-container-initialized):not(.swiper-initialized) .swiper-slide {
    max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3))
}

.elementor-widget-divider {
    --divider-border-style: none;
    --divider-border-width: 1px;
    --divider-color: #0c0d0e;
    --divider-icon-size: 20px;
    --divider-element-spacing: 10px;
    --divider-pattern-height: 24px;
    --divider-pattern-size: 20px;
    --divider-pattern-url: none;
    --divider-pattern-repeat: repeat-x
}

.elementor-widget-divider .elementor-divider {
    display: flex
}

.elementor-widget-divider .elementor-divider__text {
    font-size: 15px;
    line-height: 1;
    max-width: 95%
}

.elementor-widget-divider .elementor-divider__element {
    margin: 0 var(--divider-element-spacing);
    flex-shrink: 0
}

.elementor-widget-divider .elementor-icon {
    font-size: var(--divider-icon-size)
}

.elementor-widget-divider .elementor-divider-separator {
    display: flex;
    margin: 0;
    direction: ltr
}

.elementor-widget-divider--view-line_icon .elementor-divider-separator,
.elementor-widget-divider--view-line_text .elementor-divider-separator {
    align-items: center
}

.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,
.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,
.elementor-widget-divider--view-line_text .elementor-divider-separator:after,
.elementor-widget-divider--view-line_text .elementor-divider-separator:before {
    display: block;
    content: "";
    border-block-end: 0;
    flex-grow: 1;
    border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color)
}

.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
    flex-grow: 0;
    flex-shrink: 100
}

.elementor-widget-divider--element-align-left .elementor-divider-separator:before {
    content: none
}

.elementor-widget-divider--element-align-left .elementor-divider__element {
    margin-left: 0
}

.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
    flex-grow: 0;
    flex-shrink: 100
}

.elementor-widget-divider--element-align-right .elementor-divider-separator:after {
    content: none
}

.elementor-widget-divider--element-align-right .elementor-divider__element {
    margin-right: 0
}

.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
    flex-grow: 0;
    flex-shrink: 100
}

.elementor-widget-divider--element-align-start .elementor-divider-separator:before {
    content: none
}

.elementor-widget-divider--element-align-start .elementor-divider__element {
    margin-inline-start: 0
}

.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
    flex-grow: 0;
    flex-shrink: 100
}

.elementor-widget-divider--element-align-end .elementor-divider-separator:after {
    content: none
}

.elementor-widget-divider--element-align-end .elementor-divider__element {
    margin-inline-end: 0
}

.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
    border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color)
}

.elementor-widget-divider--separator-type-pattern {
    --divider-border-style: none
}

.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,
.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator {
    width: 100%;
    min-height: var(--divider-pattern-height);
    -webkit-mask-size: var(--divider-pattern-size) 100%;
    mask-size: var(--divider-pattern-size) 100%;
    -webkit-mask-repeat: var(--divider-pattern-repeat);
    mask-repeat: var(--divider-pattern-repeat);
    background-color: var(--divider-color);
    -webkit-mask-image: var(--divider-pattern-url);
    mask-image: var(--divider-pattern-url)
}

.elementor-widget-divider--no-spacing {
    --divider-pattern-size: auto
}

.elementor-widget-divider--bg-round {
    --divider-pattern-repeat: round
}

.rtl .elementor-widget-divider .elementor-divider__text {
    direction: rtl
}

.e-con-inner>.elementor-widget-divider,
.e-con>.elementor-widget-divider {
    width: var(--container-widget-width, 100%);
    --flex-grow: var(--container-widget-flex-grow)
}

.elementor-counter .elementor-counter-number-wrapper {
    display: flex;
    font-size: 69px;
    font-weight: 600;
    line-height: 1
}

.elementor-counter .elementor-counter-number-prefix,
.elementor-counter .elementor-counter-number-suffix {
    flex-grow: 1;
    white-space: pre-wrap
}

.elementor-counter .elementor-counter-number-prefix {
    text-align: right
}

.elementor-counter .elementor-counter-number-suffix {
    text-align: left
}

.elementor-counter .elementor-counter-title {
    text-align: center;
    font-size: 19px;
    font-weight: 400;
    line-height: 2.5
}

.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
    background-color: #69727d;
    color: #fff
}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap {
    color: #69727d;
    border: 3px solid;
    background-color: transparent
}

.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap {
    margin-top: 8px
}

.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter {
    width: 1em;
    height: 1em
}

.elementor-widget-text-editor .elementor-drop-cap {
    float: left;
    text-align: center;
    line-height: 1;
    font-size: 50px
}

.elementor-widget-text-editor .elementor-drop-cap-letter {
    display: inline-block
}

.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1
}

.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a {
    color: inherit;
    font-size: inherit;
    line-height: inherit
}

.elementor-widget-heading .elementor-heading-title.elementor-size-small {
    font-size: 15px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
    font-size: 19px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-large {
    font-size: 29px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 39px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
    font-size: 59px
}

.DEUS {
    border-radius: 30px 30px 30px 30px;
    width: 470px;
    height: 1002px;
    aspect-ratio: auto 470 / 1002;
}

.elementor-widget-image {
    text-align: center
}

.elementor-widget-image a {
    display: inline-block
}

.elementor-widget-image a img[src$=".svg"] {
    width: 48px
}

.elementor-widget-image img {
    vertical-align: middle;
    display: inline-block
}

img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1
}

.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a {
    color: inherit;
    font-size: inherit;
    line-height: inherit
}

.elementor-widget-heading .elementor-heading-title.elementor-size-small {
    font-size: 15px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
    font-size: 19px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-large {
    font-size: 29px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 39px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
    font-size: 59px
}

.elementor-column .elementor-spacer-inner {
    height: var(--spacer-size)
}

.e-con {
    --container-widget-width: 100%
}

.e-con-inner>.elementor-widget-spacer,
.e-con>.elementor-widget-spacer {
    width: var(--container-widget-width, var(--spacer-size));
    --align-self: var(--container-widget-align-self, initial);
    --flex-shrink: 0
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container,
.e-con>.elementor-widget-spacer>.elementor-widget-container {
    height: 100%;
    width: 100%
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer,
.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer {
    height: 100%
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner,
.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner {
    height: var(--container-widget-height, var(--spacer-size))
}

.e-con-inner>.elementor-widget-spacer.elementor-widget-empty,
.e-con>.elementor-widget-spacer.elementor-widget-empty {
    position: relative;
    min-height: 22px;
    min-width: 22px
}

.e-con-inner>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon,
.e-con>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0;
    width: 22px;
    height: 22px
}

.elementor-column .elementor-spacer-inner {
    height: var(--spacer-size)
}

.e-con {
    --container-widget-width: 100%
}

.e-con-inner>.elementor-widget-spacer,
.e-con>.elementor-widget-spacer {
    width: var(--container-widget-width, var(--spacer-size));
    --align-self: var(--container-widget-align-self, initial);
    --flex-shrink: 0
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container,
.e-con>.elementor-widget-spacer>.elementor-widget-container {
    height: 100%;
    width: 100%
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer,
.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer {
    height: 100%
}

.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner,
.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner {
    height: var(--container-widget-height, var(--spacer-size))
}

.e-con-inner>.elementor-widget-spacer.elementor-widget-empty,
.e-con>.elementor-widget-spacer.elementor-widget-empty {
    position: relative;
    min-height: 22px;
    min-width: 22px
}

.e-con-inner>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon,
.e-con>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0;
    width: 22px;
    height: 22px
}

.icon-play-button {
    font-size: 21px;
}

.icon-play-button {
    line-height: 122px;
    color: var(--e-global-color-50c1ba5);
}

.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1
}

.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a {
    color: inherit;
    font-size: inherit;
    line-height: inherit
}

.elementor-widget-heading .elementor-heading-title.elementor-size-small {
    font-size: 15px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-medium {
    font-size: 19px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-large {
    font-size: 29px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 39px
}

.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
    font-size: 59px
}

.services-carousel {
    padding: 30px 0;
}

.services-carousel__wrap {
    width: 100%;
}

.svc-card {
  background: #ffffff;
  border-radius: 25px;
  padding: 28px 26px;
  height: 450px;
  width: 350px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 32px;

  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);

  transition:
    background-color 250ms ease,
    transform 250ms ease,
    box-shadow 250ms ease,
    border-color 250ms ease;
}

.svc-card__body {
    padding: 26px 26px 18px;
    min-height: 220px;
    flex: 1;
}

.svc-card__icon {
     width: 70px;
  height: 70px;
  position: relative;
}

.svc-card__icon-img {
  width: 70px;
  height: 70px;
  display: block;
  position: absolute;
  inset: 0;
  transition: opacity 220ms ease, transform 220ms ease;
}
.svc-card:hover .svc-card__cta,
.svc-card.is-active .svc-card__cta {
  color: #ffffff;
}

.svc-card__icon-img--default {
  opacity: 1;
}

.svc-card__icon-img--hover {
  opacity: 0;
}

.svc-card:hover .svc-card__title,
.svc-card:hover .svc-card__text,
.svc-card:hover .svc-card__cta {
  color: #ffffff;
}

.svc-card:hover .svc-card__icon-img--default {
  opacity: 0;
  transform: scale(0.98);
}

.svc-card:hover .svc-card__icon-img--hover {
  opacity: 1;
  transform: scale(1);
}

.svc-card:hover .svc-card__arrow--default {
  opacity: 0;
}

.svc-card:hover .svc-card__arrow--hover {
  opacity: 1;
}

.svc-card:hover .svc-card__cta {
  transform: translateX(2px);
}

.svc-cards__grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.svc-card__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;

  font-weight: 600;
  text-decoration: none;

  color: #0f172a;
  transition: color 250ms ease, transform 250ms ease;
}

.svc-card__divider {
  margin-top: 16px;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}

.svc-card:hover .svc-card__divider,
.svc-card.is-active .svc-card__divider {
  border-top-color: rgba(255, 255, 255, 0.22);
}
.svc-card__cta-icon {
  position: relative;
  width: 22px;   /* mesmo tamanho da seta */
  height: 22px;
  flex: 0 0 22px; /* trava para não variar */
}

.svc-card__arrow {
  position: absolute;
  inset: 0;
  width: 22px;
  height: 22px;
  display: block;
  left:60px;
  transition: opacity 220ms ease, transform 220ms ease;
}

.svc-card__arrow--default { opacity: 1; }
.svc-card__arrow--hover   { opacity: 0; }

/* Hover: troca a seta sem deslocar nada */
.svc-card:hover .svc-card__arrow--default,
.svc-card.is-active .svc-card__arrow--default {
  opacity: 0;
}

.svc-card:hover .svc-card__arrow--hover,
.svc-card.is-active .svc-card__arrow--hover {
  opacity: 1;
}

.svc-card__cta-text {
  display: inline-block;
}


.svc-card__title {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 700;
    color: #0b1b2a;
    transition: color .25s ease;
}

.svc-card__text {
    margin: 0;
    color: #5b6774;
    line-height: 1.6;
    transition: color .25s ease;
}

.svc-card__link {
    margin-top: auto;
    padding: 14px 26px;
    border-top: 1px solid #eef2f6;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: #0b1b2a;
    text-decoration: none;
    transition: color .25s ease, border-color .25s ease;
}

.svc-card:hover {
    background: #0a84ff;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(10, 132, 255, 0.25);
}

.svc-card:hover .svc-card__title,
.svc-card:hover .svc-card__icon,
.svc-card:hover .svc-card__text,
.svc-card:hover .svc-card__link {
    color: #ffffff;
    fill: #ffffff;
}

.svc-card:hover .svc-card__link {
    border-color: rgba(255, 255, 255, 0.18);
}

.services-carousel__pagination {
    margin-top: 18px;
    text-align: center;
}

.services-carousel__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    opacity: 0.35;
}

.services-carousel__pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

.swiper-slide {
    display: flex;
    justify-content: center;
}

.services-carousel-section {
    max-height: 510px;
    overflow: hidden;
}

.services-carousel {
    width: 100%;
    height: auto;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
}

/* Trilho */
.services-carousel .swiper-wrapper {
    align-items: stretch;
}


.services-carousel .swiper-slide {
    width: auto !important;
    display: flex;
}



.svc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 35px rgba(0, 0, 0, .08);
    background: #0a82ff;

}

.svc-card:hover .svc-card__title,
.svc-card:hover .svc-card__text,
.svc-card:hover .svc-card__link {
    color: #fff;
}

.svc-card__body {
    padding: 20px;
    flex: 1;
}

.svc-card__link {
    padding: 12px 20px;
    border-top: 1px solid #eef2f6;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #0f172a;
}

.svc-card:hover .svc-card__link {
    border-top-color: rgba(255, 255, 255, .18);
}


.services-carousel .swiper-slide {
    margin-right: 30px;

}


.services-carousel .swiper-pagination {
    position: relative;
    margin-top: 18px;
}

.services-carousel .swiper-slide:last-child {
    margin-right: 32px;
}

.hero-iso {
    width: min(920px, 100%);
    margin-inline: auto;
    /* altura responsiva parecida com o teu 905x708 */
}


/* Fallback que funciona SEMPRE (mesmo se aspect-ratio for ignorado) */
.hero-iso__stage::before {
    content: "";
    display: block;
    padding-top: calc(708 / 905 * 100%);
    /* mesma proporção */
}


/* Todas as camadas */
.hero-iso__layer {
    position: absolute;
    inset: auto;
    width: auto;
    height: auto;
    max-width: none;
    will-change: transform;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    user-select: none;
    pointer-events: none;

}

/* Base central (imagem maior) */
.hero-iso__base {
    position: absolute;
    scale: 2.0;
    left: 50%;
    top: 35%;
    width: 60%;
    transform: translate(-50%, -50%);
}

/* Positions (equivalentes aos offsets do RevSlider, mas responsivos) */
/* iso-1-2*/
.hero-iso .l1 {
    left: 125%;
    top: 50%;
    width: 36%;
    scale: 1.2;
}
/* iso-1-6*/
.hero-iso .l2 {
    left: 5%;
    top: 25%;
    width: 28%;
    scale: 1.5;
}
/* iso-1-8*/
.hero-iso .l3 {
    left: 110%;
    top: 17%;
    width: 28%;
    scale: 1.5;
}
/* iso-1-7*/
.hero-iso .l4 {
    left: 45%;
    top: 13%;
    width: 15%;
    scale: 2.0;
}
/* iso-1-5*/
.hero-iso .l5 {
    left: 1%;
    top: 45%;
    width: 26%;
    scale: 1.25;
}
/* iso-1-4*/
.hero-iso .l6 {
    left: 45%;
    top: 57%;
    width: 28%;
    scale: 1.5;
}

.hero-iso .l7 {
    left: 90%;
    top: 70%;
    width: 15%;
    scale: 1.5;
}

/* Ajustes para telas menores */
@media (max-width: 768px) {
    .hero-iso__base {
        width: 78%;
    }

    /* aproxima tudo um pouco pra caber legal */
    .hero-iso .l1 {
        left: 72%;
        top: 42%;
        width: 40%;
    }

    .hero-iso .l7 {
        left: 62%;
        top: 84%;
        width: 18%;
    }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
    .hero-iso__layer {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
.hero-iso2{
  width: min(900px, 100%);
  margin: 0 auto;
}

.hero-iso__stage2{
  position: relative;
  width: 900px;
  height: 700px;
  margin: 0 auto;
  perspective: 700px;
  transform-style: preserve-3d;
  overflow: visible;

  /* escala responsiva mantendo proporção */
  transform: scale(calc(min(1, (100vw - 40px) / 900)));
  transform-origin: top center;
}

/* Base comum */
.hero-iso__layer2{
  position: absolute;
  display: block;
  user-select: none;
  pointer-events: none;

  /* para sua animação (parallax/float) */
  --px: 0px;
  --py: 0px;
  --fx: 0px;
  --fy: 0px;
  --ry: 0deg;
  --rz: 0deg;

  transform: translate3d(calc(var(--px) + var(--fx)),
                         calc(var(--py) + var(--fy)),
                         0)
             rotateZ(var(--rz))
             rotateY(var(--ry));
  transform-origin: center;
  transform-style: preserve-3d;
  will-change: transform;

  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* -------------------------------------------------------
   POSICIONAMENTO (disposição igual ao print)
   ------------------------------------------------------- */

/* BASE: iso-3-10 (notebook grande) */
.hero-iso__base2{
  left: 8%;
  top: 6%;
  width: 82%;
  height: 88%;
  scale: 1.1;
}

/* l8: iso-3-4 (pessoa em pé à esquerda em cima, encostando no notebook) */
.l8{
  left: 25%;
  top: 22%;
  width: 34%;
  height: 36%;
  scale: 85%;
}

/* l13: iso-3-5 (pessoa sentada à esquerda embaixo) */
.l13{
  left: 10%;
  top: 55%;
  width: 34%;
  height: 46%;
  scale: 60%;
}

/* l14: iso-3-6 (pessoa sentada à direita embaixo) */
.l14{
  left: 60%;
  top: 58%;
  width: 34%;
  height: 38%;
  scale: 90%;
}

/* l9: iso-3-9 (? no canto superior esquerdo) */
.l9{
  left: 18%;
  top: 7%;
  width: 18%;
  height: 14%;
  scale: 70%;
  z-index: 1;
}

/* l11: iso-3-8 (€ no canto superior direito) */
.l11{
  left: 100%;
  top: 1%;
  width: 18%;
  height: 14%;
  scale: 70%;
  z-index: 1;
}

/* l10: iso-3-3 (quadrado branco abaixo do ? – versão esquerda) */
.l10{
  left: 16%;
  top: 10%;
  width: 24%;
  height: 18%;
  scale: 1.1;
}

/* l12: iso-3-3 (quadrado branco abaixo do € – versão direita) */
.l12{
  left: 98%;
  top: 4%;
  width: 24%;
  height: 18%;
  scale: 1.1;
}

/* Responsivo: em telas menores dá uma leve reduzida no palco */
@media (max-width: 640px){
  .hero-iso__stage2{
    aspect-ratio: 900 / 820; /* mais “alto” no mobile */
  }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce){
  .hero-iso__layer2{ transform: none !important; }
}

/* Layout lado a lado (imagens + FAQ) */
.hero-row{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 40px;
  align-items: center;
}

.hero-col{ min-width: 0; }

@media (max-width: 980px){
  .hero-row{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* =========================
   FAQ (estilo do print)
========================= */

.faq-title{
  font-size: clamp(22px, 2.2vw, 28px);
  margin: 0 0 16px;
  color: #0b1b2b;
}

.faq{
  display: grid;
  gap: 14px;
}

/* Card “fofo” */
.faq-item{
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
}

/* Botão */
.faq-q{
  width: 100%;
  text-align: left;
  padding: 18px 20px;
  border: 0;
  background: transparent;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  font-weight: 700;
  color: #0b1b2b;
  font-size: 16px;
  line-height: 1.35;
}

/* bloco esquerdo com Q. + texto */
.faq-q__left{
  display: inline-flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0; /* permite quebrar linha corretamente */
}

.faq-q__mark{
  color: #0a84ff;
  font-weight: 800;
  flex: 0 0 auto;
  margin-top: 1px;
}

.faq-q__text{
  display: inline-block;
  min-width: 0;
}

/* foco teclado */
.faq-q:focus-visible{
  outline: 3px solid rgba(10,132,255,0.28);
  outline-offset: 3px;
  border-radius: 14px;
}

/* ícone do lado direito (simples, sem quadrado) */
.faq-icon{
  color: #0a84ff;
  font-weight: 900;
  font-size: 20px;
  line-height: 1;
  flex: 0 0 auto;
  transform-origin: center;
  transition: transform 220ms ease;
}

/* Área colapsável */
.faq-a{
  max-height: 0;
  overflow: hidden;
  transition: max-height 260ms ease;
}

.faq-a__inner{
  padding: 0 20px 18px 20px;
  color: rgba(11, 27, 43, 0.70);
  line-height: 1.55;
  font-size: 14px;
}

/* Estado aberto */
.faq-item.is-open .faq-a{
  max-height: 400px; /* ajuste se respostas forem maiores */
}

.faq-item.is-open .faq-icon{
  transform: rotate(45deg); /* vira um x */
}


.hero-col--media{
  margin-left: -200px; 
}

.hero-col--faq{
  padding-right: 64px;
}

 .wa-float{
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #25D366;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
    z-index: 9999;
    text-decoration: none;
    transform: translateZ(0);
  }

  .wa-float:hover{ filter: brightness(0.95); }

  .wa-icon{
    width: 28px;
    height: 28px;
    fill: #fff;
  }

  .wa-bubble{
    position: absolute;
    right: 68px;
    bottom: 50%;
    transform: translateY(50%);
    background: #111;
    color: #fff;
    padding: 10px 12px;
    border-radius: 12px;
    font: 600 13px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: .18s ease;
  }

  .wa-bubble::after{
    content:"";
    position:absolute;
    right:-6px;
    top:50%;
    transform: translateY(-50%);
    border:6px solid transparent;
    border-left-color:#111;
  }

  .wa-float:hover .wa-bubble{
    opacity: 1;
    transform: translateY(50%) translateX(0);
  }

  /* Mobile: esconde o texto pra não atrapalhar */
  @media (max-width: 520px){
    .wa-bubble{ display:none; }
  }

  /* ====== MÉTRICAS (sem Elementor) ====== */
.nv-metrics{
  padding: 28px 16px;
}

.nv-metrics__wrap{
  max-width: 1180px;
  margin: 0 auto;
}

.nv-metrics__grid{
  background: #fff;
  border: 4px solid #0a84ff;     /* azul da borda (ajuste se quiser) */
  border-radius: 26px;
  padding: 34px 28px;

  display: flex;
  gap: 28px;
  align-items: stretch;
  justify-content: space-between;
}

.nv-metric{
  flex:1;
  display:grid;
  grid-template-rows: 60px 24px 1fr;
  justify-items:center;
  text-align:center;
}

.nv-metric__title{
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.25;
  min-height: 48px;        
  display: flex;
  align-items: center;
  justify-content: center;
}

.nv-metric__rule{
  display: block;
  width: min(180px, 75%);
  height: 1px;
  background: #d6dbe3;
  margin: 14px 0 18px;
}

.nv-metric__value{
  margin-top: auto;
  font-size: clamp(40px, 4vw, 56px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
  line-height: 1;
}

@media (max-width: 900px){
  .nv-metrics__grid{
    flex-wrap: wrap;
    justify-content: center;
  }
  .nv-metric{
    flex: 1 1 calc(50% - 28px);
  }
}

@media (max-width: 520px){
  .nv-metrics__grid{
    padding: 24px 18px;
  }
  .nv-metric{
    flex: 1 1 100%;
  }
}



